package com.xbongbong.paas.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author: wufeng
 * @date: 2018/9/6 15:24
 * @desrcption: 表单数据删除
 */
@Getter
@Setter
@ToString
public class FormDataDeleteBatchDTO extends BaseDTO {

    private static final long serialVersionUID = 890245517899327058L;

    @NotNull(message = "{dto.msg.formDataDeleteBatch.dataIdList.NotNull}")
    private List<Long> dataIdList;

    @NotNull(message = "{dto.msg.formDataDeleteBatch.appId.NotNull}")
    private Long appId;

    @NotNull(message = "{dto.msg.formDataDeleteBatch.menuId.NotNull}")
    private Long menuId;

    @NotNull(message = "{dto.msg.formDataDeleteBatch.formId.NotNull}")
    private Long formId;

    /**
     * saas标识
     * @see com.xbongbong.pro.enums.SaasMarkEnum
     */
    private Integer saasMark;

    /**
     * 业务类型
     * @see com.xbongbong.saas.enums.XbbRefTypeEnum
     */
    private Integer businessType;

    /**
     * 1 为单个删除 0 为 批量删除 其他情况默认批量删除处理
     */
    private Integer singleFlag;

    /**
     * 是否是从业务规则来的 1：是；0或者null会触发业务规则或者工作流，请谨慎传参，避免循环调用
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer isBusinessRule;

    /**
     * 是否是从审批来的回退逻辑 1：是
     */
    private Integer fromProcess;

    /**
     *  是否是需要彻底删除
     */
    private Integer isRemoveCompletely;

    /**
     * 是否要跳过数据权限校验(0不跳过/1跳过)
     */
    private Integer isSkipPermissionCheck;

//    /**
//     * 是否是批量操作 0 不是  1 是
//     */
//    private Integer isBatch;
}
